import axios from 'axios';

// 创建一个 Axios 实例，并设置基础路径
const instance = axios.create({
    baseURL: 'http://localhost:8081',
});

// 请求拦截器，用于在请求头中添加 token
instance.interceptors.request.use((config) => {
    // 在这里你可以从你的应用状态管理或者 localStorage 中获取 token
    const token = localStorage.getItem('access_token'); // 短token
    if (token) {
        // config.headers.common['Authorization'] = `Bearer ${token}`;
    }
    return config;
}, (error) => {
    return Promise.reject(error);
});

// 响应拦截器，用于处理常见的 HTTP 错误码
instance.interceptors.response.use((response) => {
    // 在这里可以添加自定义的响应处理逻辑
    return response;
}, (error) => {
    if (error.response) {
        if (error.response.status === 500) {
            // 处理服务器内部错误
            console.error('服务器内部错误');
        } else if (error.response.status === 401) {
            // 处理未授权错误
            console.error('未授权，请重新登录');
        } else if (error.response.status === 404) {
            // 处理资源未找到错误
            console.error('资源未找到');
        }
    }
    return Promise.reject(error);
});

export default instance;